from django.utils import timezone

from django.db import models

from MirrorCore.models.User import User


class Script(models.Model):
    """
    前端格式化/整合的脚本
    提供输入补全/整理 功能
    author  脚本作者
    title    脚本名称
    content 脚本代码
    create_time 创建时间
    update_time 修改时间

    """
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=50, blank=False)
    content = models.TextField(blank=True,null=True)
    create_time = models.DateTimeField(default=timezone.now)
    update_time = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title


class Collection(models.Model):
    """
    author  作者
    name    目录名称
    brief   简介
    content 对于短文收集过后的展示/对于长文的历程感言

    input_script   在其下录入文章的辅助工具
    collect_script  整理其下文章的代码

    pins    标签
    create_time 创建时间
    """
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=50, blank=False,unique=True)
    brief = models.CharField(max_length=100, blank=True, null=True)
    content = models.TextField(blank=True,null=True)

    input_script = models.ForeignKey(Script, on_delete=models.CASCADE,related_name='input_scripts',blank=True,null=True)
    collect_script = models.ForeignKey(Script, on_delete=models.CASCADE,related_name='collect_scripts',blank=True,null=True)

    create_time = models.DateTimeField(default=timezone.now)

    is_active = models.BooleanField(default=True)
    def __str__(self):
        return self.name


